package com.tengju.bff.interfaces.covercharge.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tengju.bff.interfaces.covercharge.entity.po.ServiceRewardPunishCategory;
import com.tengju.bff.interfaces.covercharge.entity.vo.AdminCategoryPageQuery;
import com.tengju.bff.interfaces.covercharge.entity.vo.AdminCategoryQuery;
import com.tengju.bff.interfaces.covercharge.entity.vo.AdminCategoryVo;
import com.tengju.bff.interfaces.covercharge.entity.vo.AdminPunishApplyVo;

import java.util.List;

/**
 * <p>
 * 奖惩类目表 服务类
 * </p>
 *
 * @author xx
 * @since 2020-12-16
 */
public interface IServiceRewardPunishCategoryService extends IService<ServiceRewardPunishCategory> {

    /**
     * 根据条件获取类目信息
     *
     * @param adminCategoryPageQuery 类目请求Query
     * @return 查询结果
     */
    IPage<AdminCategoryVo> getCategoryInfo(AdminCategoryPageQuery adminCategoryPageQuery);

    /**
     * 更改类目状态
     *
     * @param id      类目请求Vo
     * @param status  新状态
     * @param operate 操作人
     */
    void updateCategoryStatus(int id, int status, String operate);

    /**
     * 新增类目
     *
     * @param adminCategoryVo 新增实体
     * @param operate         操作人
     */
    void insertCategory(AdminCategoryVo adminCategoryVo, String operate);

    /**
     * 新增类目
     *
     * @param adminCategoryVo 新增实体
     * @param operate         操作人
     */
    void insertCategoryValue(AdminCategoryVo adminCategoryVo, String operate);

    /**
     * 获取类目信息
     *
     * @param adminCategoryQuery 类目请求Query
     * @return 查询结果
     */
    List<AdminCategoryVo> getCategoryInfoList(AdminCategoryQuery adminCategoryQuery);


    /**
     * 根据id,状态获取类目信息
     *
     * @param id 主键
     * @param status 状态
     * @return 查询结果
     */
    ServiceRewardPunishCategory getInfoByStatus(int id,int status);
}
